package cn.exrick.xboot.base.service

import cn.exrick.xboot.base.dto.MyReportDto
import cn.exrick.xboot.base.entity.MyReport
import cn.exrick.xboot.base.vo.MyReportDetailVo
import cn.exrick.xboot.core.common.utils.ResultUtil
import cn.exrick.xboot.core.common.vo.PageVo
import cn.exrick.xboot.core.common.vo.Result
import com.baomidou.mybatisplus.extension.service.IService

/**
 * 我的上报接口
 * @author Fei
 */
interface IMyReportService : IService<MyReport?> {

    /**
     * 添加我的上报(员工&安全顾问)
     */
    fun createReport(myReport: MyReport): Result<Any?>?

    /**
     * 移除我的上报(员工&安全顾问)
     */
    fun removeReport(id: String): Result<Any?>?

    /**
     * 我的上报列表(员工&安全顾问)
     */
    fun getMyReportList(pageVo: PageVo): Result<MutableMap<String, Any?>>?

    /**
     * 获取我的上报详情(员工&&监管部门&&安全顾问)
     */
    fun getMyReportDetail(id: String): Result<MyReportDetailVo>?


    /**
     * 监管部门获取待处理上报信息(监管部门&&安全顾问)
     */
    fun getSupervisionPreCheckRePort(pageVo: PageVo): Result<MutableMap<String, Any?>>?

    /**
     * 监管部门获取已经处理上报信息(监管部门&&安全顾问)
     */
    fun getSupervisionHaveCheckReport(pageVo: PageVo): Result<MutableMap<String, Any?>>?

    /**
     * 监管部门处理上报信息(监管部门&&安全顾问)
     */
    fun resolveReport(myReportDto: MyReportDto): Result<Any?>?

}